package si.yun.dao;

import org.apache.ibatis.annotations.Param;
import si.yun.entity.*;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

public interface SyCourseMapper {

    List<SyCourse> SyCourseReview();

    SyCourse SyCourseReviewXiangqing(int s);

    int SyCommodityReviewAdd(@Param("str2") String str2, @Param("c") int c, @Param("id") int id);

    int SyProductNameUpd(@Param("str") String str, @Param("c") int c, @Param("id") int id);
    //系统首页——上传的视频浏览数
    int selVideoLook();
    //系统首页——收藏量
    int selVideoCollect();
    //系统首页——点赞量
    int selVideoLike();
    //系统首页——编译课程数
    int selCourseCstatus();
    //系统首页--已处理课程数
    int selAlreadyCourse();
    //商品总览——课程数量（已上架）
    int selCourseStatus();
    //课程审核
    List<Map<String, Object>> selCourseCheck(@Param("courseName") String courseName, @Param("name") String name, @Param("courseNprice") String courseNprice);

    List<SyCourse> SyCourseReviewAdvancedSearch(@Param("kecheng")String kecheng, @Param("aClass")int  aClass, @Param("aClass2")int aClass2);
    //本月新增课程总数
    int selCourseMonth();
    //本月新增课程总数
    int selSuccessfulApplication();
    //上月新增课程总数
    int selCourseLastMonth();
    //上月申请成功
    int selLastApplication();
    //查看课程审核详情
    List<Map<String, Object>> selCourseCheckInfo(Integer courseId);
    //添加课程预览图
    int insertFiler(SyCourse syCourse);
    /**
     * @Author : 栾佳俊
     * @Date : 2021/8/4 16:28
     * @Param : [str2, c, id]
     * @Return : si.yun.utils.JsonData
     */
    List<HashMap> SyAdvancedSearchCourseReview(@Param("syUser") SyUser syUser, @Param("user")Integer user);
    //查询课程日志
    List<Map<String, Object>> selCourseLog(@Param("courseId")Integer courseId);
  //修改课程审核
    int updateCourse(SyCourse s);
    //高级检索
    List<Map<String, Object>> selSuperCourse(@Param("courseClassId")Integer courseClassId);
    //首页--折线图
    String selCurriculumCount(@Param("s") String s, @Param("s1") String s1);
    /*
          * @Description : 查询商品分类子
          * @Return : java.util.List<java.util.Map<java.lang.String,java.lang.Object>>
          * @Date : 2021/9/4 11:46
          */
    int addCourseInsimport(List<SyCourse> list);
    /*
            * @Description : 查询商品分类子
            * @Return : java.util.List<java.util.Map<java.lang.String,java.lang.Object>>
            * @Date : 2021/9/4 11:46
            */
    List<Map<String, Object>> selCourses(Map<String, Object> map);
    /*
            * @Description : 删除商品
            * @Return : java.util.List<java.util.Map<java.lang.String,java.lang.Object>>
            * @Date : 2021/9/4 11:46
            */
    int delCourse(Integer courseId);
    /*
         * @Description : 查询商品分类子
         * @Return : java.util.List<java.util.Map<java.lang.String,java.lang.Object>>
         * @Date : 2021/9/4 11:46
         */
    List<Map<String, Object>> selselCourseClassChild(int id);
    /*
        * @Description : 查询课程分类父
        * @Return : java.util.List<java.util.Map<java.lang.String,java.lang.Object>>
        * @Date : 2021/9/4 11:46
        */
    List<Map<String, Object>> selCourseClass();
    /*
        * @Description : 添加课程分类
        * @Return : si.yun.entity.JsonData
        * @Date : 2021/9/4 14:25
        */
    int addCourseClass(SyCourseClass sc);
    /*
     *
     * @Description 查看审核课程信息
     * @return si.yun.entity.JsonData
     * @Date 14:34 2021/8/4
     **/
    List<Map<String, Object>> selCourseAud();
    /*
     *
     * @Description 查看审核课程信息
     * @return si.yun.entity.JsonData
     * @Date 14:34 2021/8/4
     **/
    List<Map<String, Object>> selCourseHeight(SyCourse list);
    /*
     *
     * @Description 查看审核课程信息
     * @return si.yun.entity.JsonData
     * @Date 14:34 2021/8/4
     **/
    Map<String, Object> selCoAuInfo(int courseNo);
    /*
     *
     * @Description 查看审核课程信息
     * @return si.yun.entity.JsonData
     * @Date 14:34 2021/8/4
     **/
    Object upCourseCstatus(int result, int courseId);

    /*
     * @Description : 查询所有课程分类赋值给下拉菜单
     * @Return : java.util.List<java.util.Map<java.lang.String,java.lang.Object>>
     * @Date : 2021/9/4 11:57
     */
    List<Map<String,Object>> selCourseClassSelect();

    /*
     * @Description : 修改课程分类
     * @Return : int
     * @Date : 2021/9/4 14:22
     */
    int updCourseClass(SyCourseClass sc);

    //删除课程分类
    int delCourseClass(Integer id);
    //课程日志添加
    int addCourseLog(Map<String, Object> map);
    //课程日志
    List<Map<String, Object>> selCourseLogs(@Param("type") Integer type,@Param("log_id") Integer log_id);
    //通过课程分类子获取父分类
    Map<String, Object> selCousrseChildParent(Integer id);
    //添加课程分类
    int addCourse(SyCourse sc);
    //-添加时，并添加课程日志
    int addLog(Map<String, Object> map);
    //修改课程
    int updCourses(SyCourse sc);

    //获取商品购买量统计
    String CommodityPurchaseStatistics(@Param("s") String s, @Param("s1") String s1, @Param("THREE") Integer THREE, @Param("SIX") Integer SIX);

    //获取商品订单总数
    String getCountCommodity(@Param("THREE") Integer THREE, @Param("SIX") Integer SIX);

    //获取已完成商品订单总数
    String getCountCommodity1(@Param("THREE") Integer THREE, @Param("SIX") Integer SIX);

    //获取课程订单量统计
    String CoursePurchaseStatistics(@Param("s") String s, @Param("s1") String s1, @Param("i") Integer i, @Param("i1") Integer i1);
    /*
       * @Description : 查询带审核商品
       * @Return : java.util.List<java.util.Map<java.lang.String,java.lang.Object>>
       * @Date : 2021/9/23 10:28
       */
    List<Map<String,Object>> selCommentCount(@Param("type") Integer type,@Param("status") Integer status);

    /*
    * @Description : 添加预览图
    * @Return : int
    * @Date : 2021/10/14 14:01
    */
    int addProductImg(List<SyMicrocircleImg> list1);

/*
     * @Description : 添加审核详情
     * @Return : int
     * @Date : 2021/10/18 18:20
     */
    int addRecord(SyCourseRecord sc);
}